package com.learning.rpc.remoting;

import java.net.URI;

/**
 * ClassName: Transporter
 * Description: 顶层网络传输（统一入口）
 * Date: 2022/5/10 22:43 【需求编号】
 *
 * @author Sam Sho
 * @version V1.0.0
 */
public interface Transporter {


    /**
     * 启动服务
     *
     * @param uri     uri
     * @param codec   codec
     * @param handler handler
     * @return
     */
    Server start(URI uri, Codec codec, Handler handler);


    /**
     * 连接服务
     *
     * @param uri     uri
     * @param codec   codec
     * @param handler handler
     * @return
     */
    Client connect(URI uri, Codec codec, Handler handler);

}
